type runtime.hchan
48 uses
runtime (current package)
chan.go#L29: hchanSize = unsafe.Sizeof(hchan{}) + uintptr(-int(unsafe.Sizeof(hchan{}))&(maxAlign-1))
chan.go#L33: type hchan struct {
chan.go#L61: func reflect_makechan(t *chantype, size int) *hchan {
chan.go#L65: func makechan64(t *chantype, size int64) *hchan {
chan.go#L73: func makechan(t *chantype, size int) *hchan {
chan.go#L93: var c *hchan
chan.go#L97: c = (*hchan)(mallocgc(hchanSize, nil, true))
chan.go#L103: c = (*hchan)(mallocgc(hchanSize+mem, nil, true))
chan.go#L107: c = new(hchan)
chan.go#L133: func chanbuf(c *hchan, i uint) unsafe.Pointer {
chan.go#L141: func full(c *hchan) bool {
chan.go#L155: func chansend1(c *hchan, elem unsafe.Pointer) {
chan.go#L171: func chansend(c *hchan, ep unsafe.Pointer, block bool, callerpc uintptr) bool {
chan.go#L305: func send(c *hchan, sg *sudog, ep unsafe.Pointer, unlockf func(), skip int) {
chan.go#L341: func timerchandrain(c *hchan) bool {
chan.go#L397: func closechan(c *hchan) {
chan.go#L472: func empty(c *hchan) bool {
chan.go#L488: func chanrecv1(c *hchan, elem unsafe.Pointer) {
chan.go#L493: func chanrecv2(c *hchan, elem unsafe.Pointer) (received bool) {
chan.go#L504: func chanrecv(c *hchan, ep unsafe.Pointer, block bool) (selected, received bool) {
chan.go#L674: func recv(c *hchan, sg *sudog, ep unsafe.Pointer, unlockf func(), skip int) {
chan.go#L752: func selectnbsend(c *hchan, elem unsafe.Pointer) (selected bool) {
chan.go#L772: func selectnbrecv(elem unsafe.Pointer, c *hchan) (selected, received bool) {
chan.go#L777: func reflect_chansend(c *hchan, elem unsafe.Pointer, nb bool) (selected bool) {
chan.go#L782: func reflect_chanrecv(c *hchan, nb bool, elem unsafe.Pointer) (selected bool, received bool) {
chan.go#L786: func chanlen(c *hchan) int {
chan.go#L803: func chancap(c *hchan) int {
chan.go#L821: func reflect_chanlen(c *hchan) int {
chan.go#L826: func reflectlite_chanlen(c *hchan) int {
chan.go#L831: func reflect_chancap(c *hchan) int {
chan.go#L836: func reflect_chanclose(c *hchan) {
chan.go#L886: func (c *hchan) raceaddr() unsafe.Pointer {
chan.go#L895: func racesync(c *hchan, sg *sudog) {
chan.go#L905: func racenotify(c *hchan, idx uint, sg *sudog) {
runtime2.go#L396: c *hchan // channel
select.go#L20: c *hchan // chan
select.go#L34: var c *hchan
select.go#L83: var lastc *hchan
select.go#L239: c *hchan
select.go#L529: func (c *hchan) sortkey() uintptr {
select.go#L538: ch *hchan // channel
stack.go#L823: var lastc *hchan
time.go#L223: func (t *timer) hchan() *hchan {
time.go#L230: return (*hchan)(efaceOf(&t.arg).data)
time.go#L325: func newTimer(when, period int64, f func(arg any, seq uintptr, delay int64), arg any, c *hchan) *timeTimer {
time.go#L1324: func blockTimerChan(c *hchan) {
time.go#L1361: func unblockTimerChan(c *hchan) {
 |
The pages are generated with Golds v0.7.6. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |